package com.app.mbeans.movimientos.polizas;

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.AjaxBehaviorEvent;

import org.primefaces.component.commandbutton.CommandButton;
import org.primefaces.context.RequestContext;
import org.primefaces.event.TabChangeEvent;

import com.app.mbeans.AplicacionBean;
import com.core.app.mbeans.MBeanAbstracto;
import com.utils.DateUtils;

@ManagedBean(name="polizaCajaAhorroBean")
@ViewScoped
public class PolizaCajaAhorroBean extends MBeanAbstracto implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String labelIniciar;
	private List listaPolizas;
	private List listaCargoAbonoPoliza;
	private List listaSocios;
	private List listaConceptos;
	private Object sociosSeleccionados;
	private Map polizaSeleccionada;
	private Map cargoAbonoSeleccionado;
	private Map datosPoliza;
	
	private Double totalCargo;
	private Double totalAbono;
	
	private Integer pestaniaSeleccionada;	
	private Integer indicePolizaSeleccionada;
	
	private String etiquetaOperacion; // leyenda en datos poliza: nueva poliza, modificar poliza, eliminar poliza
	private String etiquetaGuardar; // etiqueta del boton guardar: guardar, modificar, eliminar
	private String etiquetaCancelar;
	private String tipoPoliza; // leyenda de la ventana: poliza cobro, poliza aportacion, poliza bancaria
	private String etiquetaPolizasMostradas;
	private String etiquetaTotalPolizas;
	
	private Boolean soloLecturaDetalleDatosPoliza;
	private Boolean mostrarBtnDuplicar;
	private Boolean mostrarBotonesAvanze;
	
	private Boolean deshabilitarGuardar;
	private Boolean deshabilitarPrimerRegistro;
	private Boolean deshabilitarAnteriorRegistro;
	private Boolean deshabilitarSiguienteRegistro;
	private Boolean deshabilitarUltimoRegistro;
	
	@PostConstruct
	public void inicializar() throws Throwable{
		AplicacionBean aplicacion = 
				(AplicacionBean)getManagedBean("#{aplicacion}",AplicacionBean.class);
		try{
		pestaniaSeleccionada = 0;
		soloLecturaDetalleDatosPoliza = true;
		mostrarBtnDuplicar = false;
		mostrarBotonesAvanze = false;
		deshabilitarGuardar = false;
		etiquetaGuardar = "Guardar";
		etiquetaCancelar = "Cancelar";
		etiquetaOperacion = "Nueva Poliza";
		tipoPoliza = "Poliza ".concat(aplicacion.getPagina().getNombre().toLowerCase());
		generarListaSocios();
		if(aplicacion.getPagina().getNombre().toLowerCase().compareTo("aportacion") == 0)
		   llenarDatosAportacion();
		else if(aplicacion.getPagina().getNombre().toLowerCase().compareTo("cobro") == 0)
			   llenarDatosCobro();		
		else if(aplicacion.getPagina().getNombre().toLowerCase().compareTo("bancaria") == 0)
			   llenarDatosBancaria();		
			
		generarListaConceptos();
		
		listaCargoAbonoPoliza =  generarDatosCargoAbono((Map)listaPolizas.get(0),1,2);	
		
		totalCargo = 0.0;
		totalAbono = 0.0;
		
		System.out.println("Nombre Pagina: "+aplicacion.getNavegacion().getNodoSeleccionado());
		System.out.println("Pagina Seleccionada: "+aplicacion.getPagina().getNombre());
		
		etiquetaPolizasMostradas = "Polizas en esta pagina:".concat(String.valueOf(listaPolizas.size()));
		etiquetaTotalPolizas = "Total Polizas:".concat(String.valueOf(listaPolizas.size()));
		}catch(Throwable t){
			t.printStackTrace();
		}
	}
	
	public void llenarDatosAportacion() throws ParseException{
		Map mapaPoliza = null;
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
       
		listaPolizas = new ArrayList<HashMap<String, Object>>();
		mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("noPoliza", 1);
		mapaPoliza.put("fecha", formatoFecha.parseObject("1/1/2012") );
		mapaPoliza.put("concepto","12");
		mapaPoliza.put("descripcion","Movimiento a Caja");
		mapaPoliza.put("noDeposito","100");
		mapaPoliza.put("cheque","100-100");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 1, 2));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 2);
		mapaPoliza.put("fecha",formatoFecha.parseObject("1/2/2012"));
		mapaPoliza.put("concepto","13");
		mapaPoliza.put("descripcion","Retiro de Caja");
		mapaPoliza.put("noDeposito","101");
		mapaPoliza.put("cheque","100-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 2, 3));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 3);
		mapaPoliza.put("fecha",formatoFecha.parseObject("21/3/2012"));
		mapaPoliza.put("concepto","15");
		mapaPoliza.put("descripcion","Abono a Caja");
		mapaPoliza.put("noDeposito","120");
		mapaPoliza.put("cheque","101-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 3, 4));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 4);
		mapaPoliza.put("fecha",formatoFecha.parseObject("14/1/2013"));
		mapaPoliza.put("concepto","14");
		mapaPoliza.put("descripcion","Cargo a Caja");
		mapaPoliza.put("noDeposito","201");
		mapaPoliza.put("cheque","200-200");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 4, 5));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 5);
		mapaPoliza.put("fecha",formatoFecha.parseObject("15/5/2013"));
		mapaPoliza.put("concepto","16");
		mapaPoliza.put("descripcion","Seguro de Vida");
		mapaPoliza.put("noDeposito","110");
		mapaPoliza.put("cheque","221-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 6, 7));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 6);
		mapaPoliza.put("fecha",formatoFecha.parseObject("23/6/2013"));
		mapaPoliza.put("concepto","16");
		mapaPoliza.put("descripcion","Seguro de Vida");
		mapaPoliza.put("noDeposito","120");
		mapaPoliza.put("cheque","120-100");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 7, 8));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 7);
		mapaPoliza.put("fecha",formatoFecha.parseObject("18/5/2013"));
		mapaPoliza.put("concepto","17");
		mapaPoliza.put("descripcion","Prueba de Poliza");
		mapaPoliza.put("noDeposito","101");
		mapaPoliza.put("cheque","123-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 9, 10));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 8);
		mapaPoliza.put("fecha",formatoFecha.parseObject("4/12/2014"));
		mapaPoliza.put("concepto","29");
		mapaPoliza.put("descripcion","Prueba de Poliza");
		mapaPoliza.put("noDeposito","123");
		mapaPoliza.put("cheque","120-120");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 11, 12));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 9);
		mapaPoliza.put("fecha",formatoFecha.parseObject("2/3/2014"));
		mapaPoliza.put("concepto","12");
		mapaPoliza.put("descripcion","Movimiento a Caja");
		mapaPoliza.put("noDeposito","123");
		mapaPoliza.put("cheque","500-123");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 13, 14));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 10);
		mapaPoliza.put("fecha",formatoFecha.parseObject("2/3/2014"));
		mapaPoliza.put("concepto","12");
		mapaPoliza.put("descripcion","Movimiento a Caja");
		mapaPoliza.put("noDeposito","124");
		mapaPoliza.put("cheque","100-124");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 15, 16));
		listaPolizas.add(mapaPoliza);		
	}
	
	public Map duplicarPoliza(Map<String, Object> datosPoliza){
		Map mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", datosPoliza.get("noPoliza") );
		mapaPoliza.put("fecha", datosPoliza.get("fecha") );
		mapaPoliza.put("concepto", datosPoliza.get("concepto") );
		mapaPoliza.put("descripcion", datosPoliza.get("descripcion"));
		mapaPoliza.put("noDeposito", datosPoliza.get("noDeposito") );
		mapaPoliza.put("cheque", datosPoliza.get("cheque") );
		mapaPoliza.put("listaCargoAbono", datosPoliza.get("listaCargoAbono"));
		return mapaPoliza;
	}
	
	public List agregarCargoAbono(){
		System.out.println("Agregando Cargo Abono");
		List listaCargoAbonoPoliza = new ArrayList<Map<String, Object>>();
		Map mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("socio", listaSocios.get(0));
		mapaPoliza.put("cargo", "0.0");
		mapaPoliza.put("abono","0.0");
		listaCargoAbonoPoliza.add(mapaPoliza);
		return listaCargoAbonoPoliza;
	}
	
	public void agregarCargoAbono(ActionEvent evento){
		System.out.println("Agregando Cargo Abono");
		Map mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("socio", listaSocios.get(0));
		mapaPoliza.put("cargo", "0.0");
		mapaPoliza.put("abono","0.0");
		listaCargoAbonoPoliza.add(mapaPoliza);
	}
	
	public void quitarCargoAbono(Object parametro){
        cargoAbonoSeleccionado = (Map) parametro;
		System.out.println("quitando cargo abono: "+cargoAbonoSeleccionado);	
		listaCargoAbonoPoliza.remove(parametro);
		actualizarSaldos(null);
	}
	
	public List duplicarListaCargoAbono(List<Map<String, Object>> listaCargoAbono){
		List nuevaListaCargoAbono = new ArrayList<Map<String,Object>>();
		Map nuevoMapaCargoAbono = null;
		for(Map mapaCargoAbono: listaCargoAbono){
			nuevoMapaCargoAbono = new HashMap<String, Object>();
			nuevoMapaCargoAbono.put("socio", mapaCargoAbono.get("socio"));
			nuevoMapaCargoAbono.put("cargo", mapaCargoAbono.get("cargo"));
			nuevoMapaCargoAbono.put("abono", mapaCargoAbono.get("abono"));
			nuevaListaCargoAbono.add(nuevoMapaCargoAbono);
		}
		return nuevaListaCargoAbono;
	}
	
	public List generarDatosCargoAbono(Map datosPoliza, Integer indiceUno, Integer indiceDos){
		Map mapaPoliza = null;
		List listaCargoAbonoPoliza = new ArrayList<Map<String, Object>>();
		mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("socio", listaSocios.get(indiceUno));
		mapaPoliza.put("cargo", "0.0");
		mapaPoliza.put("abono",Integer.valueOf( datosPoliza.get("noPoliza").toString() ) *100);
		listaCargoAbonoPoliza.add(mapaPoliza);
		
		mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("socio", listaSocios.get(indiceDos));
		mapaPoliza.put("cargo", Integer.valueOf( datosPoliza.get("noPoliza").toString() ) *100);
		mapaPoliza.put("abono", "0.0");
		listaCargoAbonoPoliza.add(mapaPoliza);
		
		return listaCargoAbonoPoliza;
	
	}
	
	 
	public void generarListaConceptos(){
		listaConceptos = new ArrayList<Map<String, Object>>();
		Map mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 10);
		mapaConcepto.put("clave", "10");
		mapaConcepto.put("descripcion", "Saldo Inicial");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 11);
		mapaConcepto.put("clave", "11");
		mapaConcepto.put("descripcion", "Aportaciones Normales");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 12);
		mapaConcepto.put("clave", "12");
		mapaConcepto.put("descripcion", "Aportaciones Complementarias");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 13);
		mapaConcepto.put("clave", "13");
		mapaConcepto.put("descripcion", "Cobros Normales");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 14);
		mapaConcepto.put("clave", "14");
		mapaConcepto.put("descripcion", "Cobros Complementarios");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 15);
		mapaConcepto.put("clave", "15");
		mapaConcepto.put("descripcion", "Intereses Bancarios");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 16);
		mapaConcepto.put("clave", "16");
		mapaConcepto.put("descripcion", "Cobro a personas sin prestamo");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 17);
		mapaConcepto.put("clave", "17");
		mapaConcepto.put("descripcion", "REINT. DESC. INDEB. APORTA");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 18);
		mapaConcepto.put("clave", "18");
		mapaConcepto.put("descripcion", "Cheques Cancelados");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 19);
		mapaConcepto.put("clave", "19");
		mapaConcepto.put("descripcion", "Aportaciones Anticipadas");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 20);
		mapaConcepto.put("clave", "20");
		mapaConcepto.put("descripcion", "Cobros como aportaciones");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 21);
		mapaConcepto.put("clave", "21");
		mapaConcepto.put("descripcion", "Reparto como caja de ahorro");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 22);
		mapaConcepto.put("clave", "22");
		mapaConcepto.put("descripcion", "Prestamo Otorgado");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 23);
		mapaConcepto.put("clave", "23");
		mapaConcepto.put("descripcion", "Retiro de caja de ahorro");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 24);
		mapaConcepto.put("clave", "24");
		mapaConcepto.put("descripcion", "Aportacion a prestamo directo");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 25);
		mapaConcepto.put("clave", "25");
		mapaConcepto.put("descripcion", "REINT. DESC. INDEB. DE PRESTA.");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 26);
		mapaConcepto.put("clave", "26");
		mapaConcepto.put("descripcion", "Pago deuda prestamo CAJA 2010.");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 27);
		mapaConcepto.put("clave", "27");
		mapaConcepto.put("descripcion", "Interes y comision de caja anterior");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 28);
		mapaConcepto.put("clave", "28");
		mapaConcepto.put("descripcion", "Comisiones Bancarias");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 29);
		mapaConcepto.put("clave", "29");
		mapaConcepto.put("descripcion", "Pago por Aval");
		listaConceptos.add(mapaConcepto);
		mapaConcepto = new HashMap<String, Object>();
		mapaConcepto.put("id", 30);
		mapaConcepto.put("clave", "30");
		mapaConcepto.put("descripcion", "Cargo por Aval");
		listaConceptos.add(mapaConcepto);	
	}
	
	public void generarListaSocios(){
		listaSocios = new ArrayList<Map<String,Object>>();
		Map mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 2);
		mapaSocio.put("clave", 2);
		mapaSocio.put("nombreSocio","Abaunza Amador Angela");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 37);
		mapaSocio.put("clave", 37);
		mapaSocio.put("nombreSocio","Aguilar MArtinez Delfino");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();		
		mapaSocio.put("idSocio", 40);
		mapaSocio.put("clave", 40);
		mapaSocio.put("nombreSocio","Aguilar Perez Julia");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 41);
		mapaSocio.put("clave", 41);
		mapaSocio.put("nombreSocio","Aguilar Romero Ruth");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 59);
		mapaSocio.put("clave", 59);
		mapaSocio.put("nombreSocio","Alavez Ojeda Sara E.");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 60);
		mapaSocio.put("clave", 60);
		mapaSocio.put("nombreSocio","Alcaraz Lopez Rafael");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 66);
		mapaSocio.put("clave", 66);
		mapaSocio.put("nombreSocio","Alonso Del Moral Yolanda");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 85);
		mapaSocio.put("clave", 85);
		mapaSocio.put("nombreSocio","Alvarez Reyes Maria Luisa");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 89);
		mapaSocio.put("clave", 89);
		mapaSocio.put("nombreSocio","Alvarez Vargas Maria del C.");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 98);
		mapaSocio.put("clave", 98);
		mapaSocio.put("nombreSocio","Andrade Mertinez Ruben");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 102);
		mapaSocio.put("clave", 102);
		mapaSocio.put("nombreSocio","Aparicio Castellanos Adrina");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 104);
		mapaSocio.put("clave", 104);
		mapaSocio.put("nombreSocio","Aparicio Paxtian Jose C.");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 105);
		mapaSocio.put("clave", 105);
		mapaSocio.put("nombreSocio","Aparicio Paxtian Lucio");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 120);
		mapaSocio.put("clave", 120);
		mapaSocio.put("nombreSocio","Villegas Alfallo Maria Antonia");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 124);
		mapaSocio.put("clave", 124);
		mapaSocio.put("nombreSocio","Arenas Cortes Ismael");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 126);
		mapaSocio.put("clave", 126);
		mapaSocio.put("nombreSocio","Argaiz Cabrales Nadia");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 136);
		mapaSocio.put("clave", 136);
		mapaSocio.put("nombreSocio","Arrieta Santaella Ana Maria");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 138);
		mapaSocio.put("clave", 138);
		mapaSocio.put("nombreSocio"," Arroyo Garcia Julia");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 142);
		mapaSocio.put("clave", 142);
		mapaSocio.put("nombreSocio","Atilano Medina Maricela");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 149);
		mapaSocio.put("clave", 149);
		mapaSocio.put("nombreSocio","Avila Castelan Silvia");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 152);
		mapaSocio.put("clave", 152);
		mapaSocio.put("nombreSocio","Avila Delgado Arturo");
		listaSocios.add(mapaSocio);
		mapaSocio = new HashMap<String, Object>();
		mapaSocio.put("idSocio", 161);
		mapaSocio.put("clave", 161);
		mapaSocio.put("nombreSocio","Ayala Ferreyra Maria Francisca");
		listaSocios.add(mapaSocio);
		
	}
	
	public void validarDatos(ActionEvent evento){
		System.out.println("Datos Poliza: "+datosPoliza);
		System.out.println("Datos Socio: "+listaCargoAbonoPoliza);
        if(datosPoliza.get("noPoliza" ) == null || datosPoliza.get("noPoliza" ).toString().trim().isEmpty() ){
        	FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"El Numero de Poliza es Obligatorio. " ));
		}else if (datosPoliza.get("fecha") == null ){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"Debe proporcionar una fecha. " ));
		}else if (datosPoliza.get("concepto" ) == null){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"Debe proporcionar el Concepto . " ));
		}else if (datosPoliza.get("descripcion") == null || datosPoliza.get("descripcion").toString().trim().isEmpty() ){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"Debe proporcionar la Descripcion. " ));
		}else if (datosPoliza.get("noDeposito") == null || datosPoliza.get("descripcion").toString().trim().isEmpty() ){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"El Numero de Deposito es obligatorio. " ));
		}else if (datosPoliza.get("cheque") == null || datosPoliza.get("descripcion").toString().trim().isEmpty()){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"El Numero de Cheque es obligatorio. " ));
		}else if (listaCargoAbonoPoliza == null || listaCargoAbonoPoliza.size() == 0){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Advertencia: ",
    				"Proporcione la informacion de CARGO y ABONO de esta poliza. " ));
		}
		else{
	     	RequestContext.getCurrentInstance().execute(" m1p1_wvConfirmarPolizaDlg.show() ");
		}
	}
	
	public void realizarOperacion(ActionEvent evento){
		if(etiquetaGuardar.compareTo("Guardar") == 0){
		   datosPoliza.put("listaCargoAbono", listaCargoAbonoPoliza);
		   listaPolizas.add(datosPoliza);
		}else if(etiquetaGuardar.compareTo("Modificar") == 0){
		   listaPolizas.remove(polizaSeleccionada);
		   datosPoliza.put("listaCargoAbono", listaCargoAbonoPoliza);
		   listaPolizas.add(indicePolizaSeleccionada, datosPoliza);
		}else if(etiquetaGuardar.compareTo("Eliminar") == 0){
		   listaPolizas.remove(polizaSeleccionada);
		}
		FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_INFO,"Informacion: ",
				"Se realizado la operacion de manera exitosa. Para continuar haga click en el boton REGRESAR a RESUMEN" ));
		etiquetaPolizasMostradas = "Polizas en esta pagina:".concat(String.valueOf(listaPolizas.size()));
		etiquetaTotalPolizas = "Total Polizas:".concat(String.valueOf(listaPolizas.size()));
		deshabilitarGuardar = true;
		etiquetaCancelar = "Regresar a resumen";
		soloLecturaDetalleDatosPoliza = true;
	}
	
	public void onTabChange(TabChangeEvent event) throws Throwable { 
		//pestaniaSeleccionada = pestaniaSeleccionada == 0 ? 1: 0;
		nuevaPoliza(null);	
		
	}
	
	public void mostrarSocios(AjaxBehaviorEvent evento){
		System.out.println("Datos Cargo Abono: "+listaCargoAbonoPoliza);
	}
	
	public void nuevaPoliza(ActionEvent evento){
		pestaniaSeleccionada = 1;
		datosPoliza = new HashMap<String, Object>();
		datosPoliza.put("noPoliza", null );
		datosPoliza.put("fecha", null );
		datosPoliza.put("concepto", "10" );
		datosPoliza.put("descripcion", null);
		datosPoliza.put("noDeposito", null );
		datosPoliza.put("cheque", null );
		soloLecturaDetalleDatosPoliza = false;
		mostrarBtnDuplicar = false;
		mostrarBotonesAvanze = false;
		deshabilitarGuardar = false;
		listaCargoAbonoPoliza = agregarCargoAbono();
		etiquetaGuardar = "Guardar";
		etiquetaOperacion = "Nueva Poliza";
		etiquetaCancelar = "Cancelar";

		actualizarSaldos(null);
	}
	
	public void modificarDatosPoliza(ActionEvent evento){		
		if(polizaSeleccionada == null){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Informacion: ",
					"Seleccione una poliza antes de continuar. " ));
			FacesContext.getCurrentInstance().validationFailed();
		}else{
			pestaniaSeleccionada = 1;
			datosPoliza = duplicarPoliza( polizaSeleccionada );
			indicePolizaSeleccionada = listaPolizas.indexOf(polizaSeleccionada);
			soloLecturaDetalleDatosPoliza = false;
			mostrarBtnDuplicar = true;
			mostrarBotonesAvanze = true;
			deshabilitarGuardar = false;
			listaCargoAbonoPoliza =  duplicarListaCargoAbono( (List)datosPoliza.get("listaCargoAbono") );
					
			etiquetaGuardar = "Modificar";
			etiquetaOperacion = "Modificar Poliza";
			etiquetaCancelar = "Cancelar";
			configurarAvanzeEntrePolizas();
			
			actualizarSaldos(null);
		}
	}
	
	public void eliminarDatosPoliza(ActionEvent evento){		
		if(polizaSeleccionada == null){
			FacesContext.getCurrentInstance().addMessage("m1p1_mensajes", new FacesMessage(FacesMessage.SEVERITY_WARN,"Informacion: ",
					"Seleccione una poliza antes de continuar. " ));
			FacesContext.getCurrentInstance().validationFailed();
		}else{
			pestaniaSeleccionada = 1;
			datosPoliza = duplicarPoliza( polizaSeleccionada );
			indicePolizaSeleccionada = listaPolizas.indexOf(polizaSeleccionada);
			soloLecturaDetalleDatosPoliza = true;
			mostrarBtnDuplicar = false;
			mostrarBotonesAvanze = true;
			deshabilitarGuardar = false;
			listaCargoAbonoPoliza =  duplicarListaCargoAbono( (List)datosPoliza.get("listaCargoAbono") );
			etiquetaGuardar = "Eliminar";
			etiquetaOperacion = "Eliminar Poliza";
			etiquetaCancelar = "Cancelar";

			actualizarSaldos(null);
		}
	}
	
	public void mostrarPoliza(ActionEvent evento){
		if(evento.getComponent().getId().compareTo("btn-toolbar2-primeros") == 0){
			indicePolizaSeleccionada = 0;
			polizaSeleccionada = (Map)listaPolizas.get( indicePolizaSeleccionada );
			datosPoliza = duplicarPoliza( polizaSeleccionada );	
			
		} else if(evento.getComponent().getId().compareTo("btn-toolbar2-anterior") == 0){
			indicePolizaSeleccionada = indicePolizaSeleccionada - 1;
			polizaSeleccionada = (Map)listaPolizas.get( indicePolizaSeleccionada );
			datosPoliza = duplicarPoliza( polizaSeleccionada );	
		} else if(evento.getComponent().getId().compareTo("btn-toolbar2-siguiente") == 0){
			indicePolizaSeleccionada = indicePolizaSeleccionada + 1;
			polizaSeleccionada = (Map)listaPolizas.get( indicePolizaSeleccionada );
			datosPoliza = duplicarPoliza( polizaSeleccionada );	
		} else if(evento.getComponent().getId().compareTo("btn-toolbar2-ultimos") == 0){
			indicePolizaSeleccionada = listaPolizas.size() - 1 ;
			polizaSeleccionada = (Map)listaPolizas.get( indicePolizaSeleccionada );
			datosPoliza = duplicarPoliza( polizaSeleccionada );	
		}
		listaCargoAbonoPoliza =  duplicarListaCargoAbono( (List)datosPoliza.get("listaCargoAbono") );
		actualizarSaldos(null);
		configurarAvanzeEntrePolizas();
	}
	
	public void configurarAvanzeEntrePolizas(){
		Integer indiceInicial = 0;
		Integer indiceFinal = listaPolizas.size() - 1;
		Integer indiceActual = indicePolizaSeleccionada;
		
		deshabilitarPrimerRegistro = indiceActual == indiceInicial;
		deshabilitarAnteriorRegistro = indiceActual == indiceInicial;
		deshabilitarSiguienteRegistro = indiceActual == indiceFinal;
		deshabilitarUltimoRegistro = indiceActual == indiceFinal;
	}
	
	public void actualizarSaldos(AjaxBehaviorEvent evento){
		System.out.println("Sumando saldos: "+listaCargoAbonoPoliza);
		Double totalCargo = 0.0;
		Double totalAbono = 0.0;
		
		for(Map mapaCargoAbono: (List<Map<String,Object>>)listaCargoAbonoPoliza){
			totalCargo = totalCargo + Double.valueOf( mapaCargoAbono.get("cargo").toString() );
			totalAbono = totalAbono + Double.valueOf( mapaCargoAbono.get("abono").toString() );
		}
		
		this.totalCargo =  totalCargo;
		this.totalAbono =  totalAbono;
	}
	
	
	public void mostrarPestania(ActionEvent evento){
		pestaniaSeleccionada = 0;
	}

	public String getLabelIniciar() {
		return labelIniciar;
	}

	public void setLabelIniciar(String labelIniciar) {
		this.labelIniciar = labelIniciar;
	}

	public List getListaPolizas() {
		return listaPolizas;
	}

	public void setListaPolizas(List listaPolizas) {
		this.listaPolizas = listaPolizas;
	}

	public List getListaCargoAbonoPoliza() {
		return listaCargoAbonoPoliza;
	}

	public void setListaCargoAbonoPoliza(List listaCargoAbonoPoliza) {
		this.listaCargoAbonoPoliza = listaCargoAbonoPoliza;
	}

	public List getListaSocios() {
		return listaSocios;
	}

	public void setListaSocios(List listaSocios) {
		this.listaSocios = listaSocios;
	}

	public Object getSociosSeleccionados() {
		return sociosSeleccionados;
	}

	public void setSociosSeleccionados(Object sociosSeleccionados) {
		this.sociosSeleccionados = sociosSeleccionados;
	}

	public Integer getPestaniaSeleccionada() {
		return pestaniaSeleccionada;
	}

	public void setPestaniaSeleccionada(Integer pestaniaSeleccionada) {
		this.pestaniaSeleccionada = pestaniaSeleccionada;
	}

	public Map getPolizaSeleccionada() {
		return polizaSeleccionada;
	}

	public void setPolizaSeleccionada(Map polizaSeleccionada) {
		this.polizaSeleccionada = polizaSeleccionada;
	}

	public Map getDatosPoliza() {
		return datosPoliza;
	}

	public void setDatosPoliza(Map datosPoliza) {
		this.datosPoliza = datosPoliza;
	}

	public Boolean getSoloLecturaDetalleDatosPoliza() {
		return soloLecturaDetalleDatosPoliza;
	}

	public void setSoloLecturaDetalleDatosPoliza(
			Boolean soloLecturaDetalleDatosPoliza) {
		this.soloLecturaDetalleDatosPoliza = soloLecturaDetalleDatosPoliza;
	}

	public String getEtiquetaGuardar() {
		return etiquetaGuardar;
	}

	public void setEtiquetaGuardar(String etiquetaGuardar) {
		this.etiquetaGuardar = etiquetaGuardar;
	}

	public String getTipoPoliza() {
		return tipoPoliza;
	}

	public void setTipoPoliza(String tipoPoliza) {
		this.tipoPoliza = tipoPoliza;
	}

	public Boolean getMostrarBtnDuplicar() {
		return mostrarBtnDuplicar;
	}

	public void setMostrarBtnDuplicar(Boolean mostrarBtnDuplicar) {
		this.mostrarBtnDuplicar = mostrarBtnDuplicar;
	}

	public String getEtiquetaOperacion() {
		return etiquetaOperacion;
	}

	public void setEtiquetaOperacion(String etiquetaOperacion) {
		this.etiquetaOperacion = etiquetaOperacion;
	}

	public String getEtiquetaPolizasMostradas() {
		return etiquetaPolizasMostradas;
	}

	public void setEtiquetaPolizasMostradas(String etiquetaPolizasMostradas) {
		this.etiquetaPolizasMostradas = etiquetaPolizasMostradas;
	}

	public String getEtiquetaTotalPolizas() {
		return etiquetaTotalPolizas;
	}

	public void setEtiquetaTotalPolizas(String etiquetaTotalPolizas) {
		this.etiquetaTotalPolizas = etiquetaTotalPolizas;
	}

	public Boolean getDeshabilitarPrimerRegistro() {
		return deshabilitarPrimerRegistro;
	}

	public void setDeshabilitarPrimerRegistro(Boolean deshabilitarPrimerRegistro) {
		this.deshabilitarPrimerRegistro = deshabilitarPrimerRegistro;
	}

	public Boolean getDeshabilitarAnteriorRegistro() {
		return deshabilitarAnteriorRegistro;
	}

	public void setDeshabilitarAnteriorRegistro(
			Boolean deshabilitarAnteriorRegistro) {
		this.deshabilitarAnteriorRegistro = deshabilitarAnteriorRegistro;
	}

	public Boolean getDeshabilitarSiguienteRegistro() {
		return deshabilitarSiguienteRegistro;
	}

	public void setDeshabilitarSiguienteRegistro(
			Boolean deshabilitarSiguienteRegistro) {
		this.deshabilitarSiguienteRegistro = deshabilitarSiguienteRegistro;
	}

	public Boolean getDeshabilitarUltimoRegistro() {
		return deshabilitarUltimoRegistro;
	}

	public void setDeshabilitarUltimoRegistro(Boolean deshabilitarUltimoRegistro) {
		this.deshabilitarUltimoRegistro = deshabilitarUltimoRegistro;
	}

	public Integer getIndicePolizaSeleccionada() {
		return indicePolizaSeleccionada;
	}

	public void setIndicePolizaSeleccionada(Integer indicePolizaSeleccionada) {
		this.indicePolizaSeleccionada = indicePolizaSeleccionada;
	}

	public List getListaConceptos() {
		return listaConceptos;
	}

	public void setListaConceptos(List listaConceptos) {
		this.listaConceptos = listaConceptos;
	}

	public Boolean getMostrarBotonesAvanze() {
		return mostrarBotonesAvanze;
	}

	public void setMostrarBotonesAvanze(Boolean mostrarBotonesAvanze) {
		this.mostrarBotonesAvanze = mostrarBotonesAvanze;
	}

	public Boolean getDeshabilitarGuardar() {
		return deshabilitarGuardar;
	}

	public void setDeshabilitarGuardar(Boolean deshabilitarGuardar) {
		this.deshabilitarGuardar = deshabilitarGuardar;
	}

	public String getEtiquetaCancelar() {
		return etiquetaCancelar;
	}

	public void setEtiquetaCancelar(String etiquetaCancelar) {
		this.etiquetaCancelar = etiquetaCancelar;
	}

	public Double getTotalCargo() {
		return totalCargo;
	}

	public void setTotalCargo(Double totalCargo) {
		this.totalCargo = totalCargo;
	}

	public Double getTotalAbono() {
		return totalAbono;
	}

	public void setTotalAbono(Double totalAbono) {
		this.totalAbono = totalAbono;
	}

	public Map getCargoAbonoSeleccionado() {
		return cargoAbonoSeleccionado;
	}

	public void setCargoAbonoSeleccionado(Map cargoAbonoSeleccionado) {
		this.cargoAbonoSeleccionado = cargoAbonoSeleccionado;
	}
    
	public void llenarDatosCobro() throws ParseException{
		Map mapaPoliza = null;
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
       
		listaPolizas = new ArrayList<HashMap<String, Object>>();
		mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("noPoliza", 100);
		mapaPoliza.put("fecha", formatoFecha.parseObject("10/5/2012") );
		mapaPoliza.put("concepto","21");
		mapaPoliza.put("descripcion","Movimiento");
		mapaPoliza.put("noDeposito","200");
		mapaPoliza.put("cheque","200-200");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 1, 2));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 102);
		mapaPoliza.put("fecha",formatoFecha.parseObject("10/8/2012"));
		mapaPoliza.put("concepto","22");
		mapaPoliza.put("descripcion","Retiro");
		mapaPoliza.put("noDeposito","101");
		mapaPoliza.put("cheque","100-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 2, 3));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 103);
		mapaPoliza.put("fecha",formatoFecha.parseObject("21/3/2012"));
		mapaPoliza.put("concepto","23");
		mapaPoliza.put("descripcion","Abono a Caja");
		mapaPoliza.put("noDeposito","120");
		mapaPoliza.put("cheque","101-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 3, 4));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 104);
		mapaPoliza.put("fecha",formatoFecha.parseObject("14/1/2013"));
		mapaPoliza.put("concepto","24");
		mapaPoliza.put("descripcion","Cargo a Caja");
		mapaPoliza.put("noDeposito","201");
		mapaPoliza.put("cheque","200-200");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 4, 5));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 105);
		mapaPoliza.put("fecha",formatoFecha.parseObject("15/5/2013"));
		mapaPoliza.put("concepto","25");
		mapaPoliza.put("descripcion","Seguro de Vida");
		mapaPoliza.put("noDeposito","110");
		mapaPoliza.put("cheque","221-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 6, 7));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 106);
		mapaPoliza.put("fecha",formatoFecha.parseObject("20/7/2013"));
		mapaPoliza.put("concepto","26");
		mapaPoliza.put("descripcion","Seguro de Vida");
		mapaPoliza.put("noDeposito","120");
		mapaPoliza.put("cheque","120-100");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 7, 8));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 107);
		mapaPoliza.put("fecha",formatoFecha.parseObject("20/7/2013"));
		mapaPoliza.put("concepto","27");
		mapaPoliza.put("descripcion","Prueba");
		mapaPoliza.put("noDeposito","101");
		mapaPoliza.put("cheque","123-101");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 9, 10));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 108);
		mapaPoliza.put("fecha",formatoFecha.parseObject("5/1/2014"));
		mapaPoliza.put("concepto","28");
		mapaPoliza.put("descripcion","Prueba");
		mapaPoliza.put("noDeposito","223");
		mapaPoliza.put("cheque","220-220");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 11, 12));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 109);
		mapaPoliza.put("fecha",formatoFecha.parseObject("20/4/2014"));
		mapaPoliza.put("concepto","29");
		mapaPoliza.put("descripcion","Movimiento");
		mapaPoliza.put("noDeposito","223");
		mapaPoliza.put("cheque","500-223");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 13, 14));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 110);
		mapaPoliza.put("fecha",formatoFecha.parseObject("30/4/2014"));
		mapaPoliza.put("concepto","30");
		mapaPoliza.put("descripcion","Movimiento");
		mapaPoliza.put("noDeposito","224");
		mapaPoliza.put("cheque","200-224");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 15, 16));
		listaPolizas.add(mapaPoliza);		
	}
	
	public void llenarDatosBancaria() throws ParseException{
		Map mapaPoliza = null;
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
       
		listaPolizas = new ArrayList<HashMap<String, Object>>();
		mapaPoliza = new HashMap<String, Object>();
		mapaPoliza.put("noPoliza", 50);
		mapaPoliza.put("fecha", formatoFecha.parseObject("24/6/2012") );
		mapaPoliza.put("concepto","25");
		mapaPoliza.put("descripcion","Caja");
		mapaPoliza.put("noDeposito","500");
		mapaPoliza.put("cheque","500-500");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 1, 2));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 51);
		mapaPoliza.put("fecha",formatoFecha.parseObject("25/5/2012"));
		mapaPoliza.put("concepto","24");
		mapaPoliza.put("descripcion","Caja Retiro");
		mapaPoliza.put("noDeposito","501");
		mapaPoliza.put("cheque","500-501");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 2, 3));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 52);
		mapaPoliza.put("fecha",formatoFecha.parseObject("26/5/2012"));
		mapaPoliza.put("concepto","23");
		mapaPoliza.put("descripcion","Caja Abono");
		mapaPoliza.put("noDeposito","520");
		mapaPoliza.put("cheque","501-501");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 3, 4));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 53);
		mapaPoliza.put("fecha",formatoFecha.parseObject("30/1/2013"));
		mapaPoliza.put("concepto","22");
		mapaPoliza.put("descripcion","Cargo a Caja");
		mapaPoliza.put("noDeposito","501");
		mapaPoliza.put("cheque","500-500");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 4, 5));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 54);
		mapaPoliza.put("fecha",formatoFecha.parseObject("1/7/2013"));
		mapaPoliza.put("concepto","21");
		mapaPoliza.put("descripcion","Seguro de Vida");
		mapaPoliza.put("noDeposito","510");
		mapaPoliza.put("cheque","521-501");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 6, 7));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 55);
		mapaPoliza.put("fecha",formatoFecha.parseObject("2/7/2013"));
		mapaPoliza.put("concepto","20");
		mapaPoliza.put("descripcion","Cargo a Caja");
		mapaPoliza.put("noDeposito","420");
		mapaPoliza.put("cheque","420-500");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 7, 8));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 56);
		mapaPoliza.put("fecha",formatoFecha.parseObject("3/7/2013"));
		mapaPoliza.put("concepto","19");
		mapaPoliza.put("descripcion","Poliza");
		mapaPoliza.put("noDeposito","501");
		mapaPoliza.put("cheque","523-501");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 9, 10));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 57);
		mapaPoliza.put("fecha",formatoFecha.parseObject("4/12/2014"));
		mapaPoliza.put("concepto","18");
		mapaPoliza.put("descripcion","Poliza");
		mapaPoliza.put("noDeposito","523");
		mapaPoliza.put("cheque","520-520");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 11, 12));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 58);
		mapaPoliza.put("fecha",formatoFecha.parseObject("5/12/2014"));
		mapaPoliza.put("concepto","17");
		mapaPoliza.put("descripcion","Caja");
		mapaPoliza.put("noDeposito","523");
		mapaPoliza.put("cheque","500-523");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 13, 14));
		listaPolizas.add(mapaPoliza);
		mapaPoliza = new HashMap<String, String>();
		mapaPoliza.put("noPoliza", 59);
		mapaPoliza.put("fecha",formatoFecha.parseObject("6/12/2014"));
		mapaPoliza.put("concepto","16");
		mapaPoliza.put("descripcion","Caja");
		mapaPoliza.put("noDeposito","524");
		mapaPoliza.put("cheque","500-524");
		mapaPoliza.put("listaCargoAbono", generarDatosCargoAbono(mapaPoliza, 15, 16));
		listaPolizas.add(mapaPoliza);		
	}

}
